
#ifndef _COUTPUTSTATES_H_
#define _COUTPUTSTATES_H_

#include "pugixml/src/pugixml.hpp"
#include <string>
#include <list>

using namespace std;


class COutputStates
{
    private:
        static COutputStates* myInstance;
        static bool myInitialization;
        static bool myDataChanged;
        pugi::xml_document myOutputStates;
        
    public:
        static COutputStates* getInstance();
        virtual ~COutputStates();
    
    private:
        COutputStates();
        bool parseFile();

    public:
        bool init();

        bool getOutputState(const string theOutputNumber, string &theState);
        bool setOutputState(const string theOutputNumber, const string theState);
        bool getOutputBrightness(const string theOutputNumber, string &theBrightness);
        bool setOutputBrightness(const string theOutputNumber, const string &theBrightness);
        
        bool saveOutputStates();

};

#endif /* _CIOMAPPING_H_ */
